package com.example.javabasic.shejimoshi.fangwenzhe.demo1;
//访问者模式
public class Test {
    //  把元素按照访问顺序 添加到 对象角色中, 然后 创建 访问者 ,   访问者会按顺序访问对应添加的元素
    public static void main(String[] args) {
        //建立对象角色
        ObjectStructure  o = new ObjectStructure();
        //添加具体元素A
        o.add(new ConcreteElementA());
        //添加具体元素B
        o.add(new ConcreteElementB());
        //创建具体访问者A
        Visitor visitorA = new ConcreteVisitorA();
        //访问者A  访问 元素
        o.accept(visitorA);
        //创建具体访问者B
        Visitor visitorB = new ConcreteVisitorB();
        //访问者B 访问元素
        o.accept(visitorB);

    }
}
